<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title> javascript 第二课 </title>
    </head>
    <script type="text/javascript">
        // 算数运算符
        // 关系运算符(比较运算符)
        // 赋值运算符
        // 逻辑运算符
        // 一元运算符
        // 三元运算符

        // 算术运算符 + - * / % ++ -- i++ i--;
        // 
        // js 数据类型  int  blur string array object number Undefined function

        var x = 5;
        var y = 3;
        var z;

        // z = x + y; // 表达式
        // console.log(z); // 7

        // z = x - y;
        // console.log(z); // 3
        
        // z = x * y;
        // console.log(z); // 10
        
        // z = parseInt(x / y);
        // console.log(z); // 2.5
        
        // z = x % y;
        // console.log(z); // 1
        

        // d = 0.4 % x;
        // a = x + 10 - 0.4 % x;
        // b = (x + y * x) - (y / x)  % x;
        // c = ((x + y * x) - (y / x )) % x;

        // console.log(a); // 14.6
        // console.log(b); // 14.6
        // console.log(c); // 4.6 
        // console.log(d); // 0.4
        
        // 关系运算符(比较运算符)  ==  、 >、  < 、  >= 、<= 、!= 、===
        // 
        //   
          
        // == 、= 、=== 、 != 特殊讲解
        // 
        
        
        // var z = x;
        var a = '5';
        var z = parseInt(a); //  整数
        // console.log(a != x);  // 不等于 只看数据值  不看类型  不同类型且相同值  !=  为false

        // if(z = x){
        //     console.log(z = x); 
        // }
        
        
        // console.log(z == x)  //  true
        // console.log(z === x) // false
        // console.log(typeof(x))  // number
        // console.log(typeof(z))  // number
        // console.log(typeof(a))  // string

        

        // 赋值运算符   = 、 += 、 -=  *= 、 /=、 %=
        
        var a = 2;
        var b = 3;
        var c = 4;

        // a+=b  // a = a+b;
        // console.log(a); // 5
        // a-=b  // a = a-b;
        // console.log(a); //  2
        // a*=b  // a = a*b;
        // console.log(a); //  6
        // a/=b  // a = a/b;
        // console.log(a); //  2
        // a%=b  // a = a%b;
        // console.log(a); //  2


        // 逻辑运算符   !  、 && 、 ||   
        // !  带上 ！ 返回值 true 或者 false  !  的意思  取反  0 false ; !0  true; 
        //  underfind 数据类型为false  !underfind  为true
         
        // var m = true; 
        // var n = false;
        // var o;
        // console.log(o);
        // console.log(!n); // true
        // console.log(!m); // false
        // console.log(!o); // true 
        
        //  八字名言    一 假 则 假   一 真 则 真
     
        // console.log((1 == 1) && (2 == 3)) // false  
        // console.log((1 == 1) || (2 == 3)) // true   

        // a =2 b =3 c = 4
        
        var h = (a > b);
        var i = (a = 4);  

        //  知识点：  ||  一 真 则 真  如果 第一个为真 则 不执行 第二个
        //  知识点：  &&  一 假 则 假  如果 所有的语句都会执行
        // console.log( h && i );  // i 的返回值  4
        // console.log( i && h );  // h 的返回值  true 
        // console.log( h || i );  // h 的返回值  true 
        // console.log( i || h );  // i 的 返回值 true 
        



        // 一元运算符   三元运算符( 三目运算符 )


        // 运算符   
        var b = 5; // 赋值  == 比较
        
          (b == 6) ? console.log(1) : console.log(2);

        //  语法是 条件 ? 结果1 : 结果2;
        // 表达式 ？ 成立时执行的语句 :  失败时执行的语句 ;
        

        //  附加  ++   --  知识点
        var iNum2 = 20;    
        // var iNum3 = --iNum2 + ++iNum2;   //  数字先 减(加) 在 赋值
        // var iNum4 = iNum2-- + iNum2++;   //  先用值 在 进行减(加)
        // console.log(iNum2++) // 20 21 
        // console.log(iNum2) //  21 20
        // console.log(++iNum2) // 39
    

    </script>
    <body>

    </body>
</html>
